package OptimalAlgorithm.BinarySearch;
//给定一个长度为 n 的整数 山脉 数组 arr ，其中的值递增到一个 峰值元素 然后递减。
//返回峰值元素的下标。
//eg:
//输入：arr = [0,2,1,0]
//输出：1
public class PeakIndexInMountainArray {
    public int peakIndexInMountainArray(int[] arr) {
        int left = 1;
        int right = arr.length - 2;
        while (left < right){
            int mid = left + (right - left + 1) / 2;
            if(arr[mid] < arr[mid - 1]){
                right = mid - 1;
            }else {
                left = mid;
            }
        }
        return left;
    }
}
